7 research outputs found
Development and validation of computational models of cellular interaction
In this paper we take the view that computational models of biological systems should satisfy two conditions –
they should be able to predict function at a systems biology level, and robust techniques of validation against
biological models must be available. A modelling paradigm for developing a predictive computational model of
cellular interaction is described, and methods of providing robust validation against biological models are
explored, followed by a consideration of software issues
JWalk: a tool for lazy, systematic testing of java classes by design introspection and user interaction
Popular software testing tools, such as JUnit, allow frequent retesting of modified code; yet the manually created test scripts are often seriously incomplete. A unit-testing tool called JWalk has therefore been developed to address the need for systematic unit testing within the context of agile methods. The tool operates directly on the compiled code for Java classes and uses a new lazy method for inducing the changing design of a class on the fly. This is achieved partly through introspection, using Java’s reflection capability, and partly through interaction with the user, constructing and saving test oracles on the fly. Predictive rules reduce the number of oracle values that must be confirmed by the tester. Without human intervention, JWalk performs bounded exhaustive exploration of the class’s method protocols and may be directed to explore the space of algebraic constructions, or the intended design state-space of the tested class. With some human interaction, JWalk performs up to the equivalent of fully automated state-based testing, from a specification that was acquired incrementally
Model-based Testing in Cloud Brokerage Scenarios
In future Cloud ecosystems, brokers will mediate between service providers and consumers, playing an increased role in quality assurance, checking services for functional compliance to agreed standards, among other aspects. To date, most Software-as-a-Service (SaaS) testing has been performed manually, requiring duplicated effort at the development, certification and deployment stages of the service lifecycle. This paper presents a strategy for achieving automated testing for certification and re-certification of SaaS applications, based on the adoption of simple state-based and functional specifications. High-level test suites are generated from specifications, by algorithms that provide the necessary and sufficient coverage. The high-level tests must be grounded for each implementation technology, whether SOAP, REST or rich-client. Two examples of grounding are presented, one into SOAP for a traditional web service and the other into Selenium for a SAP HANA rich-client application. The results demonstrate good test coverage. Further work is required to fully automate the grounding
Plug and play safely: Rules for behavioural compatibility
The state of the art in component-based software development depends on the notion of interfaces and interface matching. This only partly solves the problem of safe component usage and substitution, dealing with syntactic compatibility. We present a specification method that describes under what conditions a component is behaviourally compatible with the expectations of an interface.
The method is based on the UML class and statechart diagrams, expressed as a set of rules for statechart refinement. Both refinement (UML realisation) and subtyping (UML specialisation) can be captured, allowing a designer to determine when a component matches the requirements of an interface, or when one component may safely be substituted for another. The rules are behaviourally safe under polymorphism with dynamic binding, up to the abstraction captured by the statecharts, and improve on previously published rules for behavioural compatibility